Spline curves are often used in computer animation to represent characteristics of objects over time. For example, an animation spline curve can be used to provide a value of an animation variable at a plurality of frames in the computer animation. A computer animator or other user can define control points at a subset of the frames in the animation. Each control point may have a control point value (e.g., a value of an animation variable at the frame), a control point tangent angle, and/or a control point tangent length. These control points can be used to generate a continuous animation spline curve, such as a Bezier curve, that interpolates the value of the animation variable between the control points.
By adjusting the control points of the animation spline curve until a desired shape of the curve is attained, an animator can define the value of the animation variable at a plurality of frames without having to manually specify the value of the animation variable for each of those frames. Thus, by defining animation spline curves for animation variables controlling an object, animators can more easily describe the behavior of the object over time.
In many cases, animation variables may be highly correlated. For example, an animation variable controlling the position of a character's top eyelid may be inversely correlated with an animation variable controlling the character's bottom eyelid. In other words, when the character opens or closes their eyes, the top eyelid may move in a similar but complementary fashion to the bottom eyelid. In order to control the position of the character's eyelid over time, an animator may define a first animation spline to control the top eyelid, and a second animation spline to control the bottom eyelid. However, in order to change the behavior of the eyelids over time (e.g., from closing quickly to closing slowly), an animator may have to manually alter both the control points for the first animation spline and those for the second animation spline. For animations where there are several correlated animation spline curves, this may be particularly laborious.
In addition, some correlated animation spline curves may have different dimensions or magnitudes than other animation spline curves, further complicating the process of concurrently altering such curves.
Embodiments of the present invention address these and other problems individually and collectively.